package com.duck.inspection.domain.po;

import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.DecimalMin;
import java.time.LocalDateTime;

@Data
@Accessors(chain = true)
public class DuckMetricsPojo {
    // 基础信息
    private Integer id;          // 鸭子编号
    private Integer ageStageCode; // 年龄阶段编码(1-9)
    private String displayAge;   // 可读年龄描述
    private Double ageMonth;     // 精确月龄

    // 体尺指标（单位：kg/cm）
    @DecimalMin(value = "0.1", message = "体重不能小于0.1kg")
    private Double weight;       // 体重

    @DecimalMin(value = "5.0", message = "体斜长不能小于5cm")
    private Double bodyLength;   // 体斜长

    @DecimalMin(value = "3.0", message = "颈长不能小于3cm")
    private Double neckLength;   // 颈长

    @DecimalMin(value = "10.0", message = "半潜水长不能小于10cm")
    private Double divingLength; // 半潜水长

    @DecimalMin(value = "5.0", message = "龙骨长不能小于5cm")
    private Double keelLength;   // 龙骨长

    @DecimalMin(value = "5.0", message = "胸宽不能小于5cm")
    private Double chestWidth;   // 胸宽

    @DecimalMin(value = "4.0", message = "胸深不能小于4cm")
    private Double chestDepth;   // 胸深

    @DecimalMin(value = "2.0", message = "胫长不能小于2cm")
    private Double tibiaLength;  // 胫长

    // 生成时间戳
    private LocalDateTime createTime = LocalDateTime.now();
}
